package com.example.demo.leetcode.top;

import java.util.List;

/**
 * 给定一个包含 m x n 个元素的矩阵（m 行, n 列），请按照顺时针螺旋顺序，返回矩阵中的所有元素。
 *
 * 示例 1:
 *
 * 输入:
 * [
 *  [ 1, 2, 3 ],
 *  [ 4, 5, 6 ],
 *  [ 7, 8, 9 ]
 * ]
 * 输出: [1,2,3,6,9,8,7,4,5]
 * 示例 2:
 *
 * 输入:
 * [
 *   [1, 2, 3, 4],
 *   [5, 6, 7, 8],
 *   [9,10,11,12]
 * ]
 * 输出: [1,2,3,4,8,12,11,10,9,5,6,7]
 *
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/spiral-matrix
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 **/
public class Juzheng_螺旋矩阵 {

    public static List<Integer> spiralOrder(int[][] matrix) {

        int chang = matrix.length;
        int gao = matrix[0].length;

        int count = chang*gao;

        int a=0;
        int b=0;
        int c=chang;
        int d=gao;

        int total=0;
        while(total < count){
            for(int i=a;i<c-1;i++){
                System.out.print(matrix[a][i]);
                total++;
            }
            a++;
            for(int j=b;j<d;j++){
                System.out.println(matrix[j][c]);
                total++;
            }
            d--;
            for(int i=c-1;i>=a;i--){
                System.out.println(matrix[d][i]);
            }
            c--;
            for(int j=d;j>=a;j--){
                System.out.println(matrix[j][b]);
            }
            b++;
        }
        return null;
    }


}
